// 全局变量
input int CloseInterval = 300; // 平仓检查间隔（秒）
input double maxProfit = 2.00; // 大于x平仓

// 初始化定时器
int OnInit()
  {
   EventSetTimer(CloseInterval); // 每 300 秒（5分钟）触发一次
   return(INIT_SUCCEEDED);
  }

// 销毁定时器
void OnDeinit(const int reason)
  {
   EventKillTimer();
  }

// 定时器事件：检查持仓时间并平仓
void OnTimer()
  {
   Print("平仓检查间隔 ", CloseInterval);
   Print("平仓检查间隔==== ");
   for(int i = OrdersTotal()-1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol())
           {
            double profit = OrderProfit();
            if(profit>maxProfit)
              {
               bool result = OrderClose(OrderTicket(), OrderLots(), Bid, 3, clrNONE); // 市价平仓
               if(result)
                  Print("订单 ", OrderTicket(), "已平仓");
               else
                  Print("平仓失败！错误码：", GetLastError());
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
